package cn.iot.sys.entity;

import cn.hutool.core.date.DatePattern;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;

/**
 * 请假申请信息类
 */
@Data
@TableName("t_sys_leaveapplication")
public class SysLeaveApplication implements Serializable {
    private static final long serialVersionUID = 1L;
    @TableId
    private int id;
    @TableField("applicationNumber")
    private String applicationNumber;//申请单编号
    @TableField("studentId")
    private int studentId;//学生id
    @TableField("classId")
    private int classId;//学生班级id
    @TableField("startTime")
    @JsonFormat(pattern = DatePattern.NORM_DATE_PATTERN, timezone = "GMT+8")
    private Date startTime;//开始时间
    @TableField("endTime")
    @JsonFormat(pattern = DatePattern.NORM_DATE_PATTERN, timezone = "GMT+8")
    private Date endTime;//结束时间
    @TableField("totalDay")
    private int totalDay;//总天数
    @TableField("leaveTypeId")
    private int leaveTypeId;//请假类型id;
    @TableField(exist = false)
    private String leaveTypeName;//请假类型名称
    @TableField("approver")
    private String approver;//当前审批人
    @TableField("reason")
    private String reason;//请假原因
    @TableField("processId")
    private String processId;//流程实例id
    @TableField("status")
    private int status;//申请单状态
    @TableField("submitter")
    private String submitter;//提交人
    @TableField("createDate")
    @JsonFormat(pattern = DatePattern.NORM_DATE_PATTERN, timezone = "GMT+8")
    private Date createDate;//提交时间
    @TableField(exist = false)
    private String studentName;//学生姓名
    @TableField(exist = false)
    private String name;//班级名称
}
